package com.ruoyi.system.service;

import java.util.List;

import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.system.domain.ProcessTemplates;
import com.ruoyi.system.domain.dto.FlowEngineDTO;

/**
 * 审批模板Service接口
 *
 * @author ruoyi
 * @date 2024-03-27
 */
public interface IProcessTemplatesService
{
    /**
     * 查询审批模板
     *
     * @param templateId 审批模板主键
     * @return 审批模板
     */
    public ProcessTemplates selectProcessTemplatesByTemplateId(String templateId);

    /**
     * 查询审批模板列表
     *
     * @param processTemplates 审批模板
     * @return 审批模板集合
     */
    public List<ProcessTemplates> selectProcessTemplatesList(ProcessTemplates processTemplates);

    /**
     * 新增审批模板
     *
     * @param flowEngineDTO 审批模板
     * @return 结果
     */
    public AjaxResult insertProcessTemplates(FlowEngineDTO flowEngineDTO);

    /**
     * 修改审批模板
     *
     * @param processTemplates 审批模板
     * @return 结果
     */
    public AjaxResult updateProcessTemplates(ProcessTemplates processTemplates);

    /**
     * 修改审批模板状态（0：停用 1：启用）
     * @param processTemplates 审批模板
     * @return 结果
     */
    public int updateProcessTemplatesStatus(ProcessTemplates processTemplates);

    /**
     * 移动
     * @param processTemplates 审批模板
     * @return 结果
     */
    public int updateProcessTemplatesGroup(ProcessTemplates processTemplates);


    /**
     * 删除审批模板信息
     *
     * @param templateId 审批模板主键
     * @return 结果
     */
    public int deleteProcessTemplatesByTemplateId(String templateId);

    /**
     * 查询菜单是否已经有关联的模板
     *
     * @param menuId 菜单id
     * @return 结果
     */
    public AjaxResult selectProcessTemplatesByMenuId(Long menuId);
}
